package com.mine.yyb.modules.sys.dao;

import com.mine.yyb.common.utils.exception.MineException;
import com.mine.yyb.modules.sys.vo.NoticeVO;

/**
 * <pre>
 * <一句话功能简述>
 * 
 * 推送内容相关dao接口
 * 
 * <功能详细描述>
 * </pre>
 * 
 * @author xuganhua
 * @version [版本号, 2015年12月12日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public interface INoticeDao
{
    
    /**
     * <pre>
     * <一句话功能简述>
     * 
     * 保存推送内容
     * 
     * <功能详细描述>
     * </pre>
     *
     * @author xuganhua
     * @version [版本号, 2016年02月14日]
     * @param noticeVO
     * @return
     * @see [类、类#方法、类#成员]
     */
    public int save(NoticeVO noticeVO)
        throws MineException;
        
    /**
     * <pre>
     * <一句话功能简述>
     * 
     * 更新推送内容
     * 
     * <功能详细描述>
     * </pre>
     *
     * @author xuganhua
     * @version [版本号, 2016年02月14日]
     * @param noticeVO
     * @return
     * @see [类、类#方法、类#成员]
     */
    public int update(NoticeVO noticeVO)
        throws MineException;
        
    /**
     * <一句话功能简述>
     * 
     * 删除推送信息
     * 
     * <功能详细描述>
     * 
     * @param noticeVO
     * @return
     * @throws MineException
     * @see [类、类#方法、类#成员]
     */
    public int delete(NoticeVO noticeVO)
        throws MineException;
        
    /**
     * <pre>
     * <一句话功能简述>
     * 
     * 查询最新的推送信息
     * 
     * <功能详细描述>
     * </pre>
     *
     * @author xuganhua
     * @version [版本号, 2016年02月14日]
     * @param noticeVO
     * @return
     * @throws MineException
     * @see [类、类#方法、类#成员]
     */
    public NoticeVO queryNotice(NoticeVO noticeVO)
        throws MineException;
        
}
